Acoustic Echo Cancellation (AEC) is a technique used for speech enhancement in various communication systems such as IP-Phone, dual mode cellular phones, voice over WLAN etc. In a communication system, acoustic echo arises when sound from the speaker of a telephone handset is picked up by the microphone of the handset. Due to the acoustic echo, speech data (or other audio data) received from a remote party, when outputted by the speaker, creates an echo of the speech (or other audio data) of the remote party in the microphone output. The role of the AEC is to identify the acoustic echo path between the speaker and the microphone and, based on the acoustic echo path and the audio data outputted from the speaker, generate an estimate of the echo received by the microphone. The estimated echo is then subtracted from the microphone output resulting in a filtered microphone output in which the acoustic echo has been at least partially suppressed.
In AEC, adaptive filtering algorithms are used to estimate echo in the microphone output. In adaptive filtering algorithms, an adaptive filter self-adjusts its coefficients by using a feedback signal in the form of error signal in order to match the changing parameters. Multi Delay Block Frequency Domain Acoustic Echo Cancellation (MDF) is an adaptive filtering algorithm which may be used for echo estimation. MDF provides low algorithmic complexity, low delay and fast convergence.
In the MDF algorithm, an adaptive filter of size L taps is split into K adaptive sub-filters, each of length L/K. The step-size for adapting the adaptive sub-filters is fixed. Delay in the MDF algorithm is mainly due to block processing delay and algorithmic delay. The block processing delay can be reduced by decreasing the size of the adaptive sub-filters. Reducing the size of the adaptive sub-filters results in processing of smaller blocks of data due to which frequency domain conversion of the data blocks results in spectral leakage, which in-turn results in lowering the convergence speed of the adaptive sub-filters. The convergence speed can be increased by increasing the size of adaptive sub-filters L/K (i.e. reducing the number of adaptive sub-filters K) but increasing the size of the adaptive sub-filters tends to increase the delay.
When the microphone data occurs, the corresponding echo estimate data may be subtracted from the microphone data to calculate error data. When the microphone data occurs, the corresponding echo estimate data may not be present yet. In such a case, the microphone data is delayed so that the far-end data can occur and the echo estimate data can be calculated from the far-end data. Thus, the microphone data may be delayed in order to calculate the error data. This delay in calculating the error data is an algorithmic delay. In addition to the delay introduced in the communication system, uneven occurrence of the far-end data and the microphone data affects the system's load handling capabilities.